"""
@Project: pythonPro1
@Name: p17useArea.py
@Author: linxin_liu
@Date: 2022/9/25 15:19
"""
num = 1


# 当内部作用域想修改外部作用域的变量时，就要用到 global 和 nonlocal 关键字了。
def fun1():
    global num  # 需要使用 global 关键字声明
    print(num)
    num = 123
    print(num)


fun1()
print(num)


# 如果要修改嵌套作用域（enclosing 作用域，
# 外层非全局作用域）中的变量则需要 nonlocal 关键字了
def outer():
    count = 10

    def inner():
        nonlocal count  # nonlocal关键字声明
        count = 100
        print(count)

    inner()
    print(count)


outer()
print('==========================================')
digit = 10


def test(digit):
    digit = digit + 1
    print(digit)


test(digit)
print(digit)
